home *** CD-ROM | disk | FTP | other *** search
/ Resource for Source: C/C++ / Resource for Source - C-C++.iso / misc_src / cslib16b / include / cswindow.h < prev   
Encoding:
C/C++ Source or Header  |  1995-11-01  |  4.7 KB  |  146 lines

  1. /***********************************************************************
  2.  
  3.                                        CSA Library, Version 1.6.b 
  4.                                          Released: March 2nd 1995 
  5.  
  6.        A WINDOW class for character windows.
  7.  
  8.                                            Copyright(c) 1994,1995 
  9.                                                            Combis 
  10.                                                   The Netherlands 
  11. ***********************************************************************/
  12.  
  13. #ifndef __CSWINDOW_H
  14. #define __CSWINDOW_H
  15.  
  16. #ifndef __STDLIB_H
  17.   #include "stdlib.h"
  18. #endif
  19.  
  20. #ifndef __STRING_H
  21.   #include "string.h"
  22. #endif
  23.  
  24. #ifndef __CSTOOLS_H
  25.   #include "cstools.h"
  26. #endif
  27.  
  28. #define W_NEW           ((int)-17)
  29.  
  30. #define W_BORDER_SINGLE  BORDER_SINGLE
  31. #define W_BORDER_DOUBLE  BORDER_DOUBLE
  32. #define W_BORDER_SPACE     BORDER_SPACE
  33. #define W_BORDER_NONE     BORDER_NONE
  34.  
  35. #define NO_SHADOW      0
  36. #define SHADOW           1
  37.  
  38. #define W_HIDE        1
  39. #define W_ACTIVE    2
  40.  
  41.  
  42.  
  43. int  _cs_win_calc_dim(int &r,int &c,int &h,int &w,int border_t);
  44. int  win_get_dim(int num,int *row,int *kol,int *ho,int *le);
  45. int  win_get_in_dim(int num,int *row,int *kol,int *ho,int *le);
  46. int  win_work_size(int num,int *ho,int *le);
  47. int  win_make(int& num,int rc,int sc,CSCHAR *kop,int row,int kol, int h, int l,int border,int shadow);
  48. int  win_adjust(int num,int rc,int sc,CSCHAR *kop,int row,int kol, int h, int l,int rand,int shadow);
  49. int  win_remove(int num);
  50. int  win_default(void);
  51. int  win_shift(int num);
  52. int  win_present(int num);
  53. int  win_first_unused(void);
  54. int  win_current(void);
  55. void win_clear(void);
  56. int  win_remove_all(void);
  57. int  win_user_adjust(void);
  58. int  win_scroll(int num,int row,int col);
  59. int  win_previous(void);
  60.  
  61. /////////////////////////////////////////////////////////////////
  62. /////////////////////////////////////////////////////////////////
  63. //////////////////////// CLASS defintion ////////////////////////
  64. /////////////////////////////////////////////////////////////////
  65. /////////////////////////////////////////////////////////////////
  66.  
  67. class WINDOW
  68. {
  69.  protected:
  70.       int auto_del;
  71.       int win_nr;
  72.       int win_border;
  73.       int win_rc;
  74.       int win_sc;
  75.       int win_row;
  76.       int win_col;
  77.       int win_high;
  78.       int win_width;
  79.       CSCHAR win_head[50];
  80.       int win_shadow;
  81.  
  82.  public:
  83.  
  84. /////////////////////// Constructor & Destructor ////////////////
  85.       WINDOW(void);
  86.       ~WINDOW(void);
  87.  
  88. /////////////////////// Appearance & Color //////////////////////
  89.       void border(int w){ win_border=w; }
  90.       void border_color(int w)      { win_rc=w; }
  91.       void screen_color(int w)      { win_sc=w; }
  92.       int  border_color(void)      { return win_rc; }
  93.       int  screen_color(void)      { return win_sc; }
  94.       void color(int bc,int sc)   { border_color(bc); screen_color(sc); }
  95.       void shadow(int tf)   { win_shadow=tf; }
  96.  
  97. /////////////////////// Size & Postion //////////////////////////
  98.       void top(int w)        { win_row=w; }
  99.       void left(int w)        { win_col=w; }
  100.       void coord(int row,int col) {top(row); left(col); }
  101.       void height(int w)    { win_high=w; }
  102.       int  height(void)     { return win_high; }
  103.       void width(int w)     { win_width=w; }
  104.       int  width(void)        { return win_width; }
  105.       void work_size(int *h,int *w) { win_work_size(win_nr,h,w); }
  106.       void get_dim(int *row,int *col,int *h,int *w)
  107.                     { win_get_dim(win_nr,row,col,h,w); }
  108.       void get_in_dim(int *row,int *col,int *h,int *w)
  109.                     { win_get_in_dim(win_nr,row,col,h,w); }
  110.       void set_dim(int row,int col,int h,int w);
  111.  
  112. /////////////////////// Adjusting Size //////////////////////////
  113.       int adjust(void);
  114.       int user_adjust(void);
  115.  
  116. /////////////////////// Heading /////////////////////////////////
  117.       void head(CSCHAR *s)    { if(strlen(s)<50) strcpy(win_head,s); }
  118.  
  119. /////////////////////// Browsing ASCII files ////////////////////
  120.       int  browse(CSCHAR *file_name);
  121.  
  122. /////////////////////// Scrolling ///////////////////////////////
  123.       void scroll(int row,int col) { win_scroll(win_nr,row,col); }
  124.  
  125. /////////////////////// Working With/In /////////////////////////
  126.       void activate(void);
  127.       void clear(void);
  128.  
  129. /////////////////////// Switching between windows ///////////////
  130.       int previous(void)    { return win_previous();    }
  131.       int number(void)        { return win_nr; }
  132.  
  133. /////////////////////// Removing ////////////////////////////////
  134.       void remove_all(void) { win_remove_all();  }
  135.       void remove(void)     { win_remove(win_nr); win_nr=W_NEW; }
  136.  
  137. /////////////////////// Miscellaneous ///////////////////////////
  138.  
  139.       void auto_delete(int tf)    { auto_del=tf; }
  140.  
  141.  
  142. };
  143.  
  144.  
  145. #endif
  146.